If you are interested in buying a Mah-Jongg set (either to play the game of Mah- Jongg or to play the game of Shanghai), there are many places to shop. You should base your selection on: (1) the type of Mah-Jongg you wish to play; (2) whether or not you can read the Chinese characters of the Craks suit without Arabic numerals; (3) what looks and feels nice to you. If you buy a beautiful set but can't use it to play, that's probably not the best set for you. So make sure you know what you need and want. Different sets are comprised of different numbers of tiles, and may or may not come with specific special tiles.
If you want to play Chinese Mah-Jongg, you will find a wide variety of plastic or bone-and-bamboo tile sets at board game stores or toy stores. To play Chinese Mah-Jongg, you do not need hard-to-find Jokers. You just need a standard 144-tile set (in addition to the standard 136 suit tiles & dragons & winds, there are also 4 Flowers & 4 Seasons). Most Chinese sets also do not come with racks or chips. Just choose a set that looks attractive to you and is of a pleasing size and material (and, assuming you cannot read the Chinese characters on the Craks, make sure that the set has Arabic numerals).
If you want to play Western Mah-Jongg, and especially if you want to play National Mah-Jongg League rules, you need an American-style Mah-Jongg set -- 152 tiles. In addition to the standard 136 suit tiles & dragons & winds, you need eight Flowers/Seasons and eight Jokers, four racks, and chips. American Mah-Jongg sets can cost more than twice as much as Chinese sets due to the need for these extra parts. Some people use the blank tiles (which often come in addition to White Dragons and Flowers) as Jokers, either applying decals or just writing on them with an indelible marker. The National Mah-Jongg league has a service for tile "matching" -- send them detailed info on your set's colors and dimensions and materials, and they'll sell you suit tiles and Joker decals.
If you want to play Japanese Mah-Jongg, you may need to buy a Japanese set -- but only if you play with Red Fives (otherwise you can use a Chinese set or a Western set, and just not use some of the tiles). Japanese sets are comprised of just the basic 136 tiles (the suits & dragons & winds -- no Flowers or Seasons). If you want to play with Red Fives and you are not inclined to paint them yourself, you need to make sure that the set also comes with the Red Fives. Note that Japanese Mah-Jongg sets usually do not come with both White Dragons and blank tiles (in Japan, blank tiles are used for White Dragons), and may not come with eight Flowers (Japanese players do not play with Flowers -- you may get four Red Fives and only four Flowers in your set). If you get a Japanese set, it can be used for Chinese Mah-Jongg as long as you use the blanks for White Dragons and the Red Fives as Flowers, or as long as you play without using the Flowers. Japanese sets do not have Arabic numerals on them -- so you and your friends need to be able to read the Chinese numerals on the Crak tiles.
If you want to play Singaporean Mah-Jongg with "Cat catches Rat" play, make sure you have those special tiles! If you have a Singaporean set, use the Cat and Rat and Fisherman and Fish (or Old Man and Bag Of Gold) as Flowers and you can play Chinese Mah-Jongg just fine.
Many stores that sell board games can order a Mah-Jongg set for you if they don't have them in stock. Just make sure you know what you'll be getting. If you live in a large city, there may well be Chinese or Japanese import shops nearby, where the chances are very good that you'll find a selection of Mah-Jongg sets for sale.
There are various sites on the Internet where you can find Mah-Jongg sets for sale. You can use your Internet Search utility to locate such sites. Whenever shopping over the Internet, use caution when giving your credit card number and mailing address.
Lastly, if you want to play Shanghai with Mah-Jongg tiles, keep in mind that the rounded backs of bamboo-backed tiles make them bad for stacking. Flat-backed plastic tiles are best for playing Shanghai.